home *** CD-ROM | disk | FTP | other *** search
GW-BASIC | 1984-06-04 | 5.8 KB | 174 lines |
- 10 'This program was written as a supplemental, or support, program
- 20 'to accompany the Picture Graphics System written by Eugene Ying.
- 30 'It's sole purpose is to provide a slideshow effect from graphs B-
- 40 'saved from PCPG via F3. There is a minimal ordering scheme.
- 50 'Files with .PIC extension are sorted alphabetically prior to
- 60 'display. Ordering may be accomplished via RENAME or by selecting
- 70 'files names carefully when BSaving the graphs.
- 80 '
- 90 ' PCPG has a graphics print dump routine, but I found that it
- 100 'didn't work properly with either the Epson FX or the newer IBM
- 110 'graphic printers. Screens can be printed from PCPG via the PrtSc
- 120 'key if the IBM GRAPHICS.COM program has been previously run.
- 130 'Screens can be printed via program control from this program
- 140 'under the same circumstances, ei; GRAPHICS.COM installed.
- 150 '
- 160 'Enjoy. John L. O'Boyle - March 1984
- 180 '**INITIAL PROGRAM**
- 190 SCREEN 0,0,0:WIDTH 80:COLOR 15,9,2:CLS:KEY OFF
- 200 GOSUB 440
- 210 LOCATE 4,34:PRINT "Presenting....";:LOCATE 7,33:PRINT "The Slide Show"
- 220 DIM A$(15):COLOR 15,9,2
- 230 A$(13)= " Personal Computer "
- 240 A$(14)= " "
- 250 A$(3) = "******** ************ ******* *******"
- 260 A$(4) = "******** ************** ******** ********"
- 270 A$(5) = " **** **** **** ******* ******* "
- 280 A$(6) = " **** ********** ******** ******** "
- 290 A$(7) = " **** ********** **** ******* **** "
- 300 A$(8) = " **** **** **** **** ***** **** "
- 310 A$(9) = "******** ************** ****** *** ******"
- 320 A$(10)= "******** ************ ****** * ******"
- 330 FOR I=10 TO 70:FOR J=3 TO 10:LOCATE J+6,I:PRINT CHR$(220);
- 340 NEXT J:SOUND 100+RND*3000,1:NEXT I
- 350 FOR I=10 TO 14:FOR J=3 TO 10:LOCATE J+6,I:PRINT " ";
- 360 NEXT J:SOUND 100+RND*3000,1:NEXT I
- 370 FOR I=15 TO 64:FOR J=3 TO 10:IF MID$(A$(J),I-14,1)=" "THEN LOCATE J+6,I: PRINT " ";
- 380 NEXT J:SOUND 100+RND*3000,1:NEXT I
- 390 FOR I=64 TO 70:FOR J=3 TO 10:LOCATE J+6,I:PRINT " ";
- 400 NEXT J:SOUND 100+RND*3000,1:NEXT I:SOUND 100+RND*3000,1
- 410 LOCATE 19,15: PRINT SPACE$(3)+A$(13):SOUND 100+RND*3000,4
- 420 LOCATE 21,15: PRINT SPACE$(3)+A$(14):SOUND 100+RND*3000,1:GOSUB 480
- 430 GOTO 510
- 440 '*BOX SUB**
- 450 CLS:LOCATE 2,2,0:PRINT CHR$(201)+STRING$(75,205)+CHR$(187);
- 460 FOR I%=1 TO 20:LOCATE 2+I%,2:PRINT CHR$(186):LOCATE 2+I%,78:PRINT CHR$( 186);:NEXT
- 470 LOCATE 23,2,0:PRINT CHR$(200)+STRING$(75,205)+CHR$(188);:RETURN
- 480 '**CONT**
- 490 'LOCATE 23,28,0:COLOR 31,9,2:PRINT"Press Space Bar To Continue";:COLOR 15,9,2
- 500 'MT$=INKEY$:IF MT$="" THEN 490 ELSE IF MT$=" " THEN RETURN ELSE 490
- 510 FOR YYY = 1 TO 2500:NEXT YYY
- 520 FALSE=0:TRUE=NOT FALSE:DEFINT A-Z:L=0:CLS:CODE=43:DIM F$(175)
- 530 KEY OFF:PRTSC$ = "N"
- 540 F=7:B=0:BD=0
- 550 'SCREEN 1,0
- 560 'COLOR B,F,B
- 570 'BLOAD "OPEN.SCR"
- 580 'SP$=INKEY$:IF LEN(SP$)<>1 THEN 580
- 590 'IF SP$ <> " " THEN 580
- 600 FOR X = 1 TO 10:KEY (X) ON:NEXT
- 610 ON KEY(1) GOSUB 1530
- 620 ON KEY(2) GOSUB 1540
- 630 ON KEY(3) GOSUB 1550
- 640 ON KEY(4) GOSUB 1560
- 650 ON KEY(5) GOSUB 1570
- 660 ON KEY(6) GOSUB 1580
- 670 ON KEY(7) GOSUB 1590
- 680 ON KEY(8) GOSUB 1600
- 690 ON KEY(9) GOSUB 1610
- 700 ON KEY(10) GOSUB 1620
- 710 SCREEN 0:WIDTH 80
- 720 DIM PIC$(64)
- 730 COLOR F,B,BD:CLS:KEY OFF
- 740 LOCATE 5,8
- 750 PRINT"Which disk drive contains the slides?> : ";
- 760 RICH$=INKEY$:IF LEN(RICH$)<>1 THEN 760
- 770 IF ASC(RICH$)>96 AND ASC(RICH$)<103 THEN RICH$=CHR$(ASC(RICH$)-32)
- 780 IF INSTR("ABCDEF",RICH$)<1 THEN BEEP:GOTO 740
- 790 DRIV$=LEFT$(RICH$,1)+":"
- 800 LOCATE 5,8
- 810 PRINT "Will the SlideShow be Manual or Automatic?"
- 820 LOCATE 7,28:PRINT "Enter M or A "
- 830 ANS$=INKEY$:IF LEN(ANS$)<>1 THEN 830
- 840 IF INSTR("MAma",ANS$)<1 THEN BEEP:GOTO 830
- 850 IF ANS$ = "m" OR ANS$ = "M" THEN GOTO 890
- 860 CLS:LOCATE 5,8
- 870 INPUT "Enter Slide duration in seconds - max 60 ";SECS
- 880 IF SECS > 60 THEN CLS:LOCATE 10,15:PRINT "Wrong!!!! Try again!";:GOTO 740
- 890 LOCATE 5,8
- 900 PRINT "Do you want a Printout of the slides? "
- 910 LOCATE 7,28:PRINT "Enter Y or N "
- 920 ZZZ$=INKEY$:IF LEN(ZZZ$)<>1 THEN 920
- 930 IF INSTR("YyNn",ZZZ$)<1 THEN BEEP:GOTO 920
- 940 IF ZZZ$ = "Y" OR ZZZ$ = "y" THEN PRTSC$ = "Y"
- 950 IF PRTSC$ = "N" THEN GOTO 1020
- 960 LOCATE 5,8
- 970 PRINT "Do you want the prints identified? "
- 980 LOCATE 7,28:PRINT "Enter Y or N "
- 990 ZYZ$=INKEY$:IF LEN(ZYZ$)<>1 THEN 990
- 1000 IF INSTR("YyNn",ZYZ$)<1 THEN BEEP:GOTO 920
- 1010 IF ZYZ$ = "Y" OR ZYZ$ = "y" THEN LABL$ = "Y"
- 1020 IF ANS$ = "m" OR ANS$ = "M" THEN GOTO 1400
- 1030 WIDTH 80:COLOR 0,0:CLS
- 1040 FILES DRIV$+"*.PIC"
- 1050 CLINE1 = CSRLIN
- 1060 D=0
- 1070 LOCATE 1,1,1
- 1080 FOR I = 2 TO CLINE1 'IBM BASICA Line
- 1090 'FOR I = 1 TO CLINE1 'COMPAQ BASICA Line
- 1100 FOR B = 1 TO 72 STEP 18 'IBM BASICA Line
- 1110 'FOR B = 1 TO 78 STEP 13 'COMPAQ BASICA Line
- 1120 D=D+1
- 1130 FOR N = 0 TO 11
- 1140 T = SCREEN(I,(B+N)):F$(D)=F$(D)+CHR$(T)
- 1150 NEXT N
- 1160 IF LEFT$(F$(D),1)=" " THEN D=D-1 :GOTO 1200
- 1170 F$(D)= DRIV$+F$(D)
- 1180 NEXT B
- 1190 NEXT I
- 1200 ' THIS ALPHABETIZES THE ARRAY
- 1210 LAST = D
- 1220 FOR X=1 TO D-1:FOR Y=X+1 TO D:IF F$(Y)<F$(X) THEN SWAP F$(X),F$(Y)
- 1230 NEXT Y:NEXT X
- 1240 SCREEN 1,0
- 1250 FOR XX = 1 TO LAST
- 1260 BLOAD F$(XX)
- 1270 IF PRTSC$ = "Y" THEN GOSUB 1630
- 1280 GOSUB 1350
- 1290 CLS
- 1300 NEXT XX
- 1310 'BLOAD "CLOSE.SCR"
- 1320 'FOR THIS = 1 TO 3000:NEXT THIS
- 1330 'SCREEN ,1:WIDTH 80:COLOR 7,0,0:LOCATE 24:STOP
- 1340 SYSTEM
- 1350 IF MA$ = "m" THEN GOTO 1490
- 1360 CURR = VAL(MID$(TIME$,7,2))
- 1370 ENDT = CURR + SECS
- 1380 IF ENDT > 59 THEN ENDT = ENDT - 60
- 1390 IF ENDT = VAL(MID$(TIME$,7,2)) THEN RETURN ELSE 1390
- 1400 CLS:LOCATE 5,12:PRINT "Use Grey Plus Key `+' to advance slide."
- 1410 LOCATE 7,12:PRINT "Use Grey Minus Key `-' to move backward."
- 1420 LOCATE 9,12:PRINT "Use Function Keys 1 thru 8 to Change Background Color"
- 1430 LOCATE 11,12:PRINT "Use Function Keys 9 and 10 to Change Pallette"
- 1440 LOCATE 19,12:PRINT "Press Space Bar to begin Show!"
- 1450 SP$=INKEY$:IF LEN(SP$)<>1 THEN 1450
- 1460 IF SP$ <> " " THEN 1450
- 1470 MA$="m"
- 1480 GOTO 1030
- 1490 RICH$=INKEY$:IF LEN(RICH$)<>1 THEN 1490
- 1500 IF RICH$ = "+" THEN RETURN
- 1510 IF RICH$ = "-" THEN XX=XX-2:GOSUB 1730:RETURN
- 1520 GOTO 1490
- 1530 COLOR 0:RETURN
- 1540 COLOR 1:RETURN
- 1550 COLOR 2:RETURN
- 1560 COLOR 3:RETURN
- 1570 COLOR 4:RETURN
- 1580 COLOR 5:RETURN
- 1590 COLOR 6:RETURN
- 1600 COLOR 7:RETURN
- 1610 COLOR ,1:RETURN
- 1620 COLOR ,2:RETURN
- 1630 SLN = SLN+1
- 1640 PRTSC(0) = &H5CD
- 1650 PRTSC(1) = &HCB
- 1660 P = VARPTR(PRTSC(0))
- 1670 CALL P
- 1680 FOR LIN = 1 TO 8:LPRINT " ":NEXT LIN
- 1690 FX$=RIGHT$(F$(XX),12)
- 1700 IF LABL$ = "Y" THEN LPRINT " Slide Number ";SLN;" File name - ";FX$
- 1710 LPRINT CHR$(12)
- 1720 RETURN
- 1730 IF XX =-1 THEN XX=0
- 1740 RETURN
-